// 设置cookie
export const setUserCookie = (name, value, expires) => {
  var date = new Date();
  date.setTime(date.getTime() + expires);
  // console.log("时间", date.setTime(date.getTime() + expires));
  document.cookie =
    name + "=" + escape(value) + ";expires=" + date.toGMTString();
  // document.cookie = name + "=" + (value || "")  + expires + "; ";
};

// 过期时间秒设置cookie
export const setCookieWithSeconds = (name, value, seconds) => {
  var expires = "";
  if (seconds) {
    var date = new Date();
    date.setTime(date.getTime() + seconds * 1000);
    expires = "; expires=" + date.toUTCString();
  }
  document.cookie = name + "=" + (value || "") + expires + "; path=/";
};

// 获取Cookie值
export const getCookie = (name) => {
  var cookies = document.cookie.split("; ");
  // console.log(cookies);
  for (var i = 0; i < cookies.length; i++) {
    var cookie = cookies[i].split("=");
    if (cookie[0] === name) {
      return cookie[1];
    }
  }
  return "";
};

// 清除所有cookie
export const clearAllCookies = () => {
  var cookies = document.cookie.split(";");
  for (var i = 0; i < cookies.length; i++) {
    var cookie = cookies[i];
    var eqPos = cookie.indexOf("=");
    var name = eqPos > -1 ? cookie.substr(0, eqPos).trim() : cookie.trim();
    document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
  }
};
// base64解密
export const base64_decode = (base64) => {
  // 注意：通常URL中的%3D不需要替换为=，因为atob()会正确处理它（如果它是Base64字符串的一部分）
  // 但在这个例子中，%3D实际上是字符串的最后一个字符，并且它是Base64编码的有效部分
  // 然而，由于URL编码的%3D实际上应该被解码器自动处理（尽管在JavaScript的atob()中不是必须的），
  // 我们通常确保传递给atob()的是纯粹的Base64字符串。但在这里，我们可以直接尝试解码它。
  // 解码
  var decodedString = atob(base64.replace(/%3D$/, "=")); // 但这里实际上不需要replace，因为atob()可以处理它
  // 然而，上面的replace调用其实是多余的，因为%3D已经是Base64字符串的有效部分
  // 如果你想要将这个JSON字符串转换为一个JavaScript对象，你可以使用JSON.parse()
  return decodedString;
  // console.log("解码", decodedString);
  var jsonObject = JSON.parse(decodedString);
  // console.log(jsonObject);
};
